package com.ktgj.customer.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.customer.domain.vo.MallProductSpecVO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 商品对象 mall_product
 * 
 * @author ruoyi
 * @date 2022-05-30
 */
public class MallProduct extends BaseEntity
{
    public MallProduct() {
        this.mallProductSpec = new ArrayList<>();
        this.imgPaths = new ArrayList<>();
    }

    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品分类,字典表主键 */
    @Excel(name = "商品分类,字典表主键")
    private Long typeId;

    /** 商品属性  1.实物 2.活动码 3.会员卡 */
    @Excel(name = "商品属性  1.实物 2.活动码 3.会员卡")
    private Long propertyTypeId;

    /** 简介 */
    @Excel(name = "简介")
    private String introduce;

    /** 使用说明 */
    @Excel(name = "使用说明")
    private String useIntro;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 赠送文案 */
    @Excel(name = "赠送文案")
    private String giftCopywriting;

    /** 是否支持自提，0：不支持，1：支持 */
    @Excel(name = "是否支持自提，0：不支持，1：支持")
    private String ifpickup;

    /** 是否审核 */
    @Excel(name = "是否审核，0：未审，1：已审")
    private String ifpass;

    /** 是否支持配送 */
    @Excel(name = "是否支持配送，0：否，1：是")
    private String ifdistribution;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 供应商编号 */
    @Excel(name = "供应商编号")
    private Integer supplierId;

    /** 渠道商产品编号 */
    @Excel(name = "渠道商产品编号")
    private Long supplierPid;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    private String brand;

    /** 是否支持7天无理由退货 */
    @Excel(name = "是否支持7天无理由退货，0：否，1：是")
    private String is7toreturn;

    /** 是否为热销商品 */
    @Excel(name = "是否为热销商品：0：否，1：是")
    private String hot;

    /** 商品分类 无效，后续删除 */
    @Excel(name = "商品分类 无效，后续删除")
    private Long productcate;

    /** 商品子类 */
    @Excel(name = "商品子类")
    private Long categoryCid;

    /** 商品分类父级 */
    @Excel(name = "商品分类父级")
    private Long categoryPid;

    /** 应用类型 0：不显示 1：显示 */
    @Excel(name = "应用类型 0：不显示 1：显示")
    private String ifdisminprog;

    /** 操作人编号 */
    @Excel(name = "操作人编号")
    private Long opemployeeId;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    /** 是否可以使用商品兑换券 */
    @Excel(name = "是否可以使用商品兑换券")
    private String useConpon;

    /** 是否可以使用积分 */
    @Excel(name = "是否可以使用积分")
    private String usePoint;

    /** 型号规格 */
    @Excel(name = "型号规格")
    private List<MallProductSpecVO> mallProductSpec;

    /** 图片地址 */
    @Excel(name = "图片地址")
    private List<String> imgPaths;

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }
    public void setPropertyTypeId(Long propertyTypeId) 
    {
        this.propertyTypeId = propertyTypeId;
    }

    public Long getPropertyTypeId() 
    {
        return propertyTypeId;
    }
    public void setIntroduce(String introduce) 
    {
        this.introduce = introduce;
    }

    public String getIntroduce() 
    {
        return introduce;
    }
    public void setUseIntro(String useIntro) 
    {
        this.useIntro = useIntro;
    }

    public String getUseIntro() 
    {
        return useIntro;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setGiftCopywriting(String giftCopywriting) 
    {
        this.giftCopywriting = giftCopywriting;
    }

    public String getGiftCopywriting() 
    {
        return giftCopywriting;
    }
    public void setIfpickup(String ifpickup) 
    {
        this.ifpickup = ifpickup;
    }

    public String getIfpickup() 
    {
        return ifpickup;
    }
    public void setIfpass(String ifpass) 
    {
        this.ifpass = ifpass;
    }

    public String getIfpass() 
    {
        return ifpass;
    }
    public void setIfdistribution(String ifdistribution) 
    {
        this.ifdistribution = ifdistribution;
    }

    public String getIfdistribution() 
    {
        return ifdistribution;
    }
    public void setSort(Long sort) 
    {
        this.sort = sort;
    }

    public Long getSort() 
    {
        return sort;
    }
    public void setSupplierId(Integer supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Integer getSupplierId() 
    {
        return supplierId;
    }
    public void setSupplierPid(Long supplierPid) 
    {
        this.supplierPid = supplierPid;
    }

    public Long getSupplierPid() 
    {
        return supplierPid;
    }
    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }
    public void setIs7toreturn(String is7toreturn) 
    {
        this.is7toreturn = is7toreturn;
    }

    public String getIs7toreturn() 
    {
        return is7toreturn;
    }
    public void setHot(String hot) 
    {
        this.hot = hot;
    }

    public String getHot() 
    {
        return hot;
    }
    public void setProductcate(Long productcate) 
    {
        this.productcate = productcate;
    }

    public Long getProductcate() 
    {
        return productcate;
    }
    public void setCategoryCid(Long categoryCid) 
    {
        this.categoryCid = categoryCid;
    }

    public Long getCategoryCid() 
    {
        return categoryCid;
    }
    public void setCategoryPid(Long categoryPid) 
    {
        this.categoryPid = categoryPid;
    }

    public Long getCategoryPid() 
    {
        return categoryPid;
    }
    public void setIfdisminprog(String ifdisminprog) 
    {
        this.ifdisminprog = ifdisminprog;
    }

    public String getIfdisminprog() 
    {
        return ifdisminprog;
    }
    public void setOpemployeeId(Long opemployeeId) 
    {
        this.opemployeeId = opemployeeId;
    }

    public Long getOpemployeeId() 
    {
        return opemployeeId;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getUseConpon() {
        return useConpon;
    }

    public void setUseConpon(String useConpon) {
        this.useConpon = useConpon;
    }

    public String getUsePoint() {
        return usePoint;
    }

    public void setUsePoint(String usePoint) {
        this.usePoint = usePoint;
    }

    public List<MallProductSpecVO> getMallProductSpec() {
        return mallProductSpec;
    }

    public List<String> getImgPaths() {
        return imgPaths;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("typeId", getTypeId())
            .append("propertyTypeId", getPropertyTypeId())
            .append("introduce", getIntroduce())
            .append("useIntro", getUseIntro())
            .append("unit", getUnit())
            .append("remarks", getRemarks())
            .append("giftCopywriting", getGiftCopywriting())
            .append("ifpickup", getIfpickup())
            .append("ifpass", getIfpass())
            .append("ifdistribution", getIfdistribution())
            .append("sort", getSort())
            .append("supplierId", getSupplierId())
            .append("supplierPid", getSupplierPid())
            .append("brand", getBrand())
            .append("is7toreturn", getIs7toreturn())
            .append("hot", getHot())
            .append("productcate", getProductcate())
            .append("categoryCid", getCategoryCid())
            .append("categoryPid", getCategoryPid())
            .append("ifdisminprog", getIfdisminprog())
            .append("opemployeeId", getOpemployeeId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
